//#include <REGX52.H>
//#include "Timer0.h"
//#include "Key.h"
//由STC-ISP生成
//void Timer0Init(void)		//1毫秒@12.000MHz
//{
//	AUXR &= 0x7F;		//定时器时钟12T模式
//	TMOD &= 0xF0;		//设置定时器模式
//	TMOD |= 0x01;		//设置定时器模式
//	TL0 = 0x18;		//设置定时初值
//	TH0 = 0xFC;		//设置定时初值
//	TF0 = 0;		//清除TF0标志
//	TR0 = 1;		//定时器0开始计时
//}

//void Timer1()
//{
//	TR0=1;//定时器0开始计时
//	TF0=0;//清除TF0标志
//	EA=1;
//	PT0=0;
//	ET0=1;
//	//为TMOD后四位赋值（设置定时器模式）
//	TMOD&=0xF0;//初始化后4位
//	TMOD|=0x01;//为后四位赋值
//	//计时器一共可以计65535um
//	//分别计在TH0和TL0上
//	//当要计时1毫秒时就给计时器设置初始值（65535-1000）
//	//并分别存储//TH0放置前8位（要设置的值/256）
//	//TL0放置后8位（要设置的值%256）（+1）是因为65535并不溢出要65536才溢出所以要精确到1毫秒需要加一
//	TH0=(65535-1000)/256;
//	TL0=(65535-1000)%256+1;
//}
////unsigned char x =0xFE;
////unsigned char b = 0;
////unsigned char n = 1;
//unsigned char KeyNum;
//void mian()
//{
//	//Timer0Init();
//	while(1)
//	{
//		KeyNum=Key();
//		if(KeyNum!=0)
//		{
//			if(KeyNum==1)
//			{
//				P2_1=~P2_1;
//			}
//			if(KeyNum==2)
//			{
//				P2_2=~P2_2;
//			}
//			if(KeyNum==3)
//			{
//				P2_3=~P2_3;
//			}
//			if(KeyNum==4)
//			{
//				P2_4=~P2_4;
//			}
//		}
//	}
//}

//void Timer0_Routine(void) interrupt 1
//{
//	static unsigned int T0Count;
//	TH0=(65535-1000)/256;
//	TL0=(65535-1000)%256+1;
//	T0Count++;
//	if(T0Count>=1000)
//	{
//		T0Count=0;
//		P2_0=~P2_0;
//	}
//}


#include <REGX52.H>
#include "Timer0.h"
#include "Key.h"
#include <INTRINS.H>
unsigned char a = 0;
unsigned char LED=0;
void main()
{
	Timer0Init();
	P2=0xFE;
	while(1)
	{
		a=Key();
			if(a==1)
			{
				LED++;
				if(LED>=2)
				{
					LED=0;
				}
			}
	}
}
void Timer0_Routine() interrupt 1
{
	static unsigned int T0Count;
	TL0 = 0x18;		//设置定时初值
	TH0 = 0xFC;		//设置定时初值
	T0Count++;
	if(T0Count>=500)
	{
		T0Count=0;
		if(LED==0)
			P2=_crol_(P2,1);//ceol循环左移
		if(LED==1)
			P2=_cror_(P2,1);//cror循环右移
	}
}